package com.jeeplus.modules.api;


import com.jeeplus.common.json.AjaxJson;
import com.jeeplus.common.utils.DateUtils;
import com.jeeplus.config.properties.JeePlusProperites;
import com.jeeplus.core.web.BaseController;
import lombok.extern.slf4j.Slf4j;;
import org.apache.commons.lang.RandomStringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.*;

@CrossOrigin
@RestController
@RequestMapping("/api/")
@Slf4j
public class MicroAppController extends BaseController {


//    /**
//     * 获取openid
//     *
//     * @param req 参数 参数
//     * @return ajaxJson
//     */
//    @PostMapping("/login")
//    public AjaxJson getOpenid(@RequestBody ReqJson req) {
//        AjaxJson ajaxJson = new AjaxJson();
//        if (StringUtils.isBlank(req.getString("code"))) {
//            ajaxJson.setMsg("code不能为空！");
//            return ajaxJson;
//        }
//        if (req.getJSONObject("userInfo") == null) {
//            ajaxJson.setMsg("用户信息不能为空！");
//            return ajaxJson;
//        }
//        String code = req.getString("code");
//        String invitationCode = req.getString("invitationCode");
//        log.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
//        log.info("邀请码={}", invitationCode);
//        log.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
//        // 用code来换取openid
//        String requestUrl = ApiUserUtils.getWebAccess(code, appId, appSecret);// 通过自定义工具类组合出小程序需要的登录凭证
//        logger.info("》》》组合token为：" + requestUrl);
//        JSONObject sessionData = CommonUtil.httpsRequest(requestUrl, "GET", null);
//        if (null == sessionData || StringUtils.isBlank(sessionData.getString("openid"))) {
//            ajaxJson.setMsg("登录失败");
//            return ajaxJson;
//        }
//        TUser open = userService.findUniqueByProperty("openid", sessionData.getString("openid"));
//        TUser user2 = null;
//        if (StringUtils.isNotBlank(invitationCode)) {
//           user2 = userService.findUniqueByProperty("invitation_code", invitationCode);
//        }
//        UserVO userVO = new UserVO();
//        if (open == null) {
//            TUser user = new TUser();
//            user.setPoint(0);
//            user.setBalance("0.00");
//            if (!Objects.isNull(user2)) {
//                user.setInviter(user2);
//            }
//            user.setSignCount(0);
//            user.setAnnualCardBalance("0.00");
//            user.setNickname(req.getJSONObject("userInfo").getString("nickName"));
//            user.setPhoto(req.getJSONObject("userInfo").getString("avatarUrl"));
//            user.setOpenid(sessionData.getString("openid"));
//            if ("1".equals(req.getJSONObject("userInfo").getString("gender"))) {// 性别
//                // 0：未知、1：男、2：女
//                user.setGender("1");
//            } else if ("2".equals(req.getJSONObject("userInfo").getString("gender"))) {
//                user.setGender("2");
//            } else {
//                user.setGender("0");
//            }
//            //用户添加邀请码
//            user.setInvitationCode(IdGen.uuid().substring(0, 10));
//            // 默认年卡为未开通状态
//            user.setCardStatus(AnnualCardStatus.NOT_OPEN.getCode().toString());
//            userService.save(user);
//            TUser openid = userService.findUniqueByProperty("openid", user.getOpenid());
//            if (openid != null) {
//                BeanUtils.copyProperties(openid, userVO);
//            }
//            ajaxJson.put("isBind", 0);
//            if (StringUtils.isNotBlank(invitationCode) && !invitationCode.contains("undefined")) {
//                if (user2 != null) {
//                    InvitationRecord invitationRecord = new InvitationRecord();
//                    invitationRecord.setInvitee(user);
//                    invitationRecord.setU(user2);
//                    invitationRecordService.save(invitationRecord);
//                }
//            }
//        } else {
//            if (open.getMobile() != null) {
//                ajaxJson.put("isBind", 1);
//            } else {
//                ajaxJson.put("isBind", 0);
//            }
//            open.setOpenid(sessionData.getString("openid"));
//            BeanUtils.copyProperties(open, userVO);
//        }
//        ajaxJson.put("data", userVO);
//        ajaxJson.setCode(0);
//        ajaxJson.setMsg("授权成功");
//        return ajaxJson;
//    }

}